home *** CD-ROM | disk | FTP | other *** search
- /*
- * Variables shared by the various libraries:
- */
-
- Float
- RSAbstmp
-
- Temporary variable used by the fabs() macro to keep
- expressions from being evaluated twice (e.g.,
- fabs(cos(x)) is expanded to ((x=cos(x) < 0 ? -x : x)
- rather than ((x=cos(x) < 0 ? -cos(x) : cos(x)) ).
- Could be removed by making fabs a function or not minding
- if expressions are evaluated twice.
-
- SampleInfo
- Sampling
-
- Variables used to control sampling.
- Used in conjunction with a ray's sample number
- (ray->sample) to determine how to sample, for example,
- extended light sources.
-
- /*
- * Variables shared by modules in the rayshade application:
- */
- RSCamera
- Camera
- Camera definition. Used in viewing, setup, and parsing.
-
- RSScreen
- Screen
- Screen information. Used in viewing, setup, and parsing.
-
- RSOptions
- Options
-
- Options of all sorts.
-
- RSStats
- Stats
-
- Statistical information.
-
- Medium
- TopMedium
-
- "Air" description (index of refraction and atmospheric effects).
- Used in viewing, parsing, and ShadeRay.
-
- Light *
- Lights
-
- Array of defined lights. Used in parsing and in shade().
-
- /*
- * Application-provided functions:
- */
- Surface *
- GetShadingSurf(hitlist)
- HitList *hitlist
-
- Given a hitlist, return the surface to be used in shading.
-
- int
- TraceRay(ray, hitlist, mindist, maxdist)
- Ray *ray;
- HitList *hitlist;
- Float mindist, *maxdist;
-
- Intersect the top-level object with the given ray.
- Probably as simple as:
- return intersect(World, ray, hitlist, mindist, maxdist)
-
- void
- RLerror(level, pattern, arg1, arg2, arg3)
- int level;
- char *pattern, *arg1, *arg2, *arg3;
-
- Error-reporting function. 'level' indicates the severity of
- the error (see libcommon/error.h). 'pattern' and the
- args are suitable for printing via:
- fprintf(stderr, patter, arg1, arg2, arg3);
- Note that as the args are cast to char *'s, printing, for
- example, several doubles, will not work. (Being more
- rigorous about it would require varargs or something similar.)
-